#ifndef _AK_MISC_H_
#define _AK_MISC_H_

#include "ak_global.h"

/**
 * ak_misc_get_version - get misc version
 * return: version string
 */
const char* ak_misc_get_version(void);

/**
 * ak_misc_ipc_first_run: ipc is first run or not
 * return: 1 first run, 0 not first run
 */
int ak_misc_ipc_first_run(void);

/**
 * ak_misc_set_video_day_night: set video day or night mode, according to IR value
 * @vi_handle: opened vi handle
 * @ir_val: IR value, [0, 1]
 * @day_level: day control level, [1, 4]
 * return: 0 success, -1 failed
 */
int ak_misc_set_video_day_night(void *vi_handle, int ir_val, int day_level);

/**
 * ak_misc_start_photosensitive_switch: start photosensitive switch
 * @day_ctrl: day control level, [1, 4]
 * return: 0 success, -1 failed
 */
int ak_misc_start_photosensitive_switch(int day_ctrl);

/**
 * ak_misc_switch_photosensitive_ircut - photosensitive and ircut switch
 * @enable[IN]: 0 disable, 1 enable
 * return: 0 success, -1 failed
 * notes:
 */
void ak_misc_switch_photosensitive_ircut(int enable);

/**
 * ak_misc_stop_photosensitive_switch: stop photosensitive switch
 * return: void
 */
void ak_misc_stop_photosensitive_switch(void);

/**
 * ak_misc_init_voice_tips - init voice tips play module
 * @ao_handle[IN]: opened ao handle
 * return: 0 on seccuss, -1 failed
 */
int ak_misc_init_voice_tips(void *ao_handle);

/*
 * ak_misc_add_voice_tips - add voice tips file to be played
 * file_name[IN]: file name include absolutely path
 * file_param[IN]: voice tips file param
 * return: 0 on success, -1 failed
 */
int ak_misc_add_voice_tips(const char *file_name,
                            struct audio_param *file_param);

/*
 * ak_misc_exit_voice_tips - exit play voice tips
 * return: 0 on success, -1 failed
 */
int ak_misc_exit_voice_tips(void);

#endif